//
//  ViewController.m
//  LBNestScrollTableView
//
//  Created by liubo on 2022/10/15.
//

#import "ViewController.h"
#import "TabTableCell.h"
#import "HeaderCell.h"
#import <Masonry/Masonry.h>
#import "LBNestScrollTableView.h"

@interface ViewController () <UITableViewDelegate, UITableViewDataSource, LBNestScrollTableViewDelegate>

@property (nonatomic, strong) LBNestScrollTableView *tableView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view addSubview:self.tableView];
    [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.right.bottom.mas_equalTo(0);
        make.top.mas_equalTo(100);
    }];
    // Do any additional setup after loading the view.
}

#pragma mark - SpecialTableViewDelegate

- (CGFloat)nestTableViewHeightForStayPosition:(LBNestScrollTableView *)tableView
{
    return 200;
}

#pragma mark - UITableViewDelegate, UITableViewDataSource

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    if (indexPath.row == 0) {
        HeaderCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([HeaderCell class])];
        return cell;
    }
    TabTableCell  *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([TabTableCell class])];
    return cell;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    if (indexPath.row == 0) {
        return 200;
    }
    return (CGRectGetHeight(self.view.frame) - 100);
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 2;
}

#pragma mark - lazy load

- (LBNestScrollTableView *)tableView
{
    if (!_tableView) {
        _tableView = [[LBNestScrollTableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
        [_tableView registerClass:[TabTableCell class] forCellReuseIdentifier:NSStringFromClass([TabTableCell class])];
        [_tableView registerClass:[HeaderCell class] forCellReuseIdentifier:NSStringFromClass([HeaderCell class])];
        _tableView.delegate = self;
        _tableView.dataSource = self;
        _tableView.delegate_StayPosition = self;
    }
    return _tableView;
}

@end
